std::literals::chrono_literals:: operator""ns
|
Défini dans l'en-tête
<chrono>
|
||
|
constexpr
std::
chrono
::
nanoseconds
operator "" ns ( unsigned long long nsec ) ; |
(1) | (depuis C++14) |
|
constexpr
std::
chrono
::
duration
<
/*non spécifié*/
,
std::
nano
>
operator "" ns ( long double nsec ) ; |
(2) | (depuis C++14) |
Forme un littéral std::chrono::duration représentant des nanosecondes.
Table des matières |
Paramètres
| nsec | - | le nombre de nanosecondes |
Valeur de retour
Le littéral std::chrono::duration .
Implémentation possible
constexpr std::chrono::nanoseconds operator""ns(unsigned long long ns) { return std::chrono::nanoseconds(ns); } constexpr std::chrono::duration<long double, std::nano> operator""ns(long double ns) { return std::chrono::duration<long double, std::nano>(ns); } |
Notes
Cet opérateur est déclaré dans l'espace de noms std :: literals :: chrono_literals , où à la fois literals et chrono_literals sont des espaces de noms inline . L'accès à cet opérateur peut être obtenu avec :
- using namespace std :: literals ,
- using namespace std :: chrono_literals , ou
- using namespace std :: literals :: chrono_literals .
De plus, dans l'espace de noms std :: chrono , la directive using namespace literals :: chrono_literals ; est fournie par la bibliothèque standard , de sorte que si un programmeur utilise using namespace std :: chrono ; pour accéder aux classes de la bibliothèque chrono , les opérateurs littéraux correspondants deviennent également visibles.
Exemple
#include <chrono> #include <iostream> int main() { using namespace std::chrono_literals; auto d1{250ns}; std::chrono::nanoseconds d2{1us}; std::cout << d1 << " = " << d1.count() << " nanoseconds\n" << d2 << " = " << d2.count() << " nanoseconds\n"; }
Sortie :
250ns = 250 nanoseconds 1000ns = 1000 nanoseconds
Voir aussi
|
construit une nouvelle durée
(fonction membre publique de
std::chrono::duration<Rep,Period>
)
|